StaffScripts Banner ciclico Autore: Riccardo Data: 15/12/1999 Downloads: 940 Voto: 1/5 Download Prova: Singolo - Multiplo Gestore di Banner (rotazione ciclica) -------------------------------------------------------------------------------- 23/11/2003 - Da oggi questo script è disponibile in due versioni: quella originale (che nell'archivio trovate nella cartella "singolo" e per la quale vale quanto detto nella scheda) ed una nuova versione "multiplo" che rendo disponibile da una modifica propostami da un visitatore, Marco Lombardi, qualche giorno fa. Marco aveva necessità di gestire più di un banner ciclico nella stessa pagina (tre per l'esattezza) ed ha pensato bene di modificare lo script introducendo la possibilità di gestire array multipli per l'array "immagini" e per il "links" e già che c'era mantenendo anche un array con dei testi da far apprire al mouseover. Resta quasi immutata la parte esecutiva dello script, cui si aggiungono solo due funzioni per gestire il setTimeout(), mentre la parte degli array è ora così composta: immagini = new Array() immagini[0]=new Array("link1.gif","link2.gif","link3.gif"); immagini[1]=new Array("link2.gif","link3.gif","link1.gif"); immagini[2]=new Array("link3.gif","link1.gif","link2.gif"); links = new Array() links[0]=new Array("link1.html","link2.html","link3.html"); links[1]=new Array("link2.html","link3.html","link1.html"); links[2]=new Array("link3.html","link1.html","link2.html"); commenti = new Array() commenti[0]=new Array("link 0 1","link 0 2","link 0 3"); commenti[1]=new Array("link 1 2","link 1 3","link 1 1"); commenti[2]=new Array("link 2 3","link 2 1","link 2 2"); nome = new Array("LinkImage0","LinkImage1","LinkImage2"); var posizione=0,timer=null; function Banner() { (posizione<2)?posizione++:posizione=0; for (i=0;i, qui i parametri passati alla funzione ("0" nell'esempio) corrispondono agli elementi (0 1 2) degli array secondari e dicono allo script, insieme al valore attuale della variabile "posizione", quale commento visualizzare ed eventualmente quale link aprire. Tanto per cambiare uno script veramente semplice che è più difficile da commentare che da implementare, suggerisco caldamente di fare qualche prova aumentando e diminuendo il numero dei banner e dei gruppi di banner per rendersene conto. Ulrima cosa: attenzione all'event-handler nel tag che qui punta direttamente alla funzione Parti(). Chiudo con i doverosi ringraziamenti a Marco. -------------------------------------------------------------------------------- Per il commento di questo script vedere quanto già scritto per il Banner Casuale, l'unica differenza è che in questo caso le immagini, e di conseguenza i link vengono visualizzate nello stesso ordine con cui sono stati scelti in sede di dichiarazione dell'array. L'unica riga che mi sento di commentare ulteriormente è la seguente: (posizione<3)?posizione++:posizione=0;. Di fatto non è che una semplificazione della if (condizione) {...} else {...}. Se la condizione prima del ? è vera viene eseguito il comando (o la funzione) a sinistra dei due punti altrimenti viene eseguito quanto a destra. Nel nostro caso il conteggio riprende da 0 se il valore di posizione è 3. Ricordate di aggiungere l'istruzione onLoad="setTimeout('Banner()',1000)" all'interno del tag per far partire la rotazione. http://www.jsdir.com/staffscripts/script012.asp